home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir24 / psi110g.zip / TELNET.H < prev    next >
C/C++ Source or Header  |  1994-04-17  |  3KB  |  88 lines

  1. #ifndef _TELNET_H
  2. #define _TELNET_H
  3.   
  4. /* This seems to cause problems... WG7J */
  5. #undef TN_KK6JQ    1   /* enable extended negotiation */
  6.   
  7. #ifndef _SESSION_H
  8. #include "session.h"
  9. #endif
  10.   
  11. #define LINESIZE    256 /* Length of local editing buffer */
  12.   
  13. /* Telnet command characters */
  14. #define IAC     255 /* Interpret as command */
  15. #define WILL        251
  16. #define WONT        252
  17. #define DO      253
  18. #define DONT        254
  19. #define SB      250
  20. #define SE      240
  21. #define TS_IS       0
  22. #define TS_SEND     1
  23.   
  24. #define TN_LINEMODE 34  /* VE4WTS */
  25.   
  26. /* Telnet options */
  27. #define TN_TRANSMIT_BINARY  0
  28. #define TN_ECHO         1
  29. #define TN_SUPPRESS_GA      3
  30. #define TN_STATUS       5
  31. #define TN_TIMING_MARK      6
  32. #ifdef TN_KK6JQ
  33. #define TN_REM_CON_TRANS_ECHO   7
  34. #define TN_NEG_LINE_WIDTH   8
  35. #define TN_NEG_OUT_PAGE_SIZE    9
  36. #define TN_NEG_CR_DISPOSITION   10
  37. #define TN_NEG_HORZ_TAB_STOPS   11
  38. #define TN_NEG_HORZ_TAB_DISP    12
  39. #define TN_NEG_FORMFEED_DISP    13
  40. #define TN_NEG_VERT_TAB_STOPS   14
  41. #define TN_NEG_VERT_TAB_DISP    15
  42. #define TN_NEG_LINEFEED_DISP    16
  43. #define TN_EXT_ASCII        17
  44. #define TN_FORCE_LOGOUT     18
  45. #define TN_BYTE_MACRO       19
  46. #define TN_DATA_ENTRY_TERM  20
  47. #define TN_PROT_SUPDUP      21
  48. #define TN_OUT_SUPDUP       22
  49. #define TN_SEND_LOCATION    23
  50. #define TN_TERM_TYPE        24
  51. #define TN_END_OF_RECORD    25
  52. #define NOPTIONS        26  /* one more than last one */
  53. #else
  54. #define NOPTIONS        6   /* BUG! This should be seven. */
  55. #endif
  56.   
  57. /* Telnet protocol control block */
  58. struct telnet {
  59.     char local[NOPTIONS];   /* Local option settings */
  60.     char remote[NOPTIONS];  /* Remote option settings */
  61.     struct session *session;    /* Pointer to session structure */
  62.     char eolmode;       /* Control translation of enter key */
  63. };
  64. #define NULLTN  (struct telnet *)0
  65.   
  66. extern int Refuse_echo;
  67. extern int Tn_cr_mode;
  68.   
  69. /* In telnet.c: */
  70. int tel_connect __ARGS((struct session *sp,char *fsocket,int len));
  71. void tel_output __ARGS((int unused,void *p1,void *p2));
  72. void tnrecv __ARGS((struct telnet *tn));
  73. void doopt __ARGS((struct telnet *tn,int opt));
  74. #ifdef TN_KK6JQ
  75. void dosb __ARGS((struct telnet *tn,int opt));
  76. #endif /* TN_KK6JQ */
  77. void dontopt __ARGS((struct telnet *tn,int opt));
  78. void willopt __ARGS((struct telnet *tn,int opt));
  79. void wontopt __ARGS((struct telnet *tn,int opt));
  80. void answer __ARGS((struct telnet *tn,int r1,int r2));
  81.   
  82. /* In ttylink.c: */
  83. void ttylhandle __ARGS((int s,void *unused,void *p));
  84. void ttylink_tcp __ARGS((int s,void *unused,void *p));
  85.   
  86. #endif  /* _TELNET_H */
  87.   
  88.